package d0516_util包;

import java.util.*;

/**
 *	Date : 表示时间点
 *		记录一个从1970.1.1 到现在的毫秒值  new 
 *	Calendar : 日历, 负责计算 
 *
 */
public class 日期 {
	
	public static void main(String[] args) {
		
		Date date = new Date();  // 当前时间
		
		System.out.println("时间戳(毫秒): " + date.getTime());
		System.out.println(date);
		
		// 时间减去 1 分钟
		long time = date.getTime() - 60 * 1000;
		date.setTime(time);
		
		System.out.println("时间戳(毫秒): " + date.getTime());
		System.out.println(date);
		
		// 时间增加一周
		time += 60 * 60 * 1000 * 7  * 24;
		Date date1 = new Date(time);
		System.out.println(date1);
		
		// 比较时间值
		System.out.println(date.after(date1));
		System.out.println(date.before(date1));
		
		// Date 的 getXXX 方法不建议使用  被废弃的方法
		System.out.println(date.getYear());  
		System.out.println(date.getHours());
		
		// 日历类 Calendar 用于获取时间 和计算时间
		// 当前时间的日历对象
		Calendar cal = Calendar.getInstance();
		Date date2 = cal.getTime();
		System.out.println(date2);
		
		// 获取时间字段值
		System.out.println("=========获取时间========");
		// 年
		System.out.println(cal.get(Calendar.YEAR));
		// 月
		System.out.println(cal.get(Calendar.MONTH));
		// 天
		System.out.println(cal.get(Calendar.DAY_OF_MONTH));
		System.out.println(cal.get(Calendar.DAY_OF_WEEK));
		System.out.println(cal.get(Calendar.DAY_OF_YEAR));
		// 获取小时
		System.out.println(cal.get(Calendar.HOUR));
		System.out.println(cal.get(Calendar.HOUR_OF_DAY));
		
		System.out.println("=========设置时间========");
		System.out.println(cal.getTime());
		cal.set(Calendar.DAY_OF_MONTH, 1);  // 设置字段值
		System.out.println(cal.getTime());
		// 设置1月
		cal.set(Calendar.MONTH, 0);  // 设置字段值
		System.out.println(cal.getTime());
		
		//cal.add	 // 在日期字段增加某个值, 负数是减
		// 加1周
		cal.add(Calendar.WEEK_OF_MONTH, 1);
		System.out.println(cal.getTime());
		
		//cal.roll // 在日期字段增加某个值, 不更改高阶字段
		
	}
	

}
